<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
// +----------------------------------------------------------------------

namespace Home\Controller;
use User\Api\UserApi;

/**
 * 用户控制器
 * 包括用户中心，用户登录及注册
 */
class UserController extends HomeController {

	/* 用户中心首页 */
	public function index(){
		
	}

//	/* 注册页面 */
//	public function register($username = '', $password = '', $repassword = '', $email = '', $verify = ''){
//        if(!C('USER_ALLOW_REGISTER')){
//            $this->error('注册已关闭');
//        }
//		if(IS_POST){ //注册用户
//			/* 检测验证码 */
//			if(!check_verify($verify)){
//				$this->error('验证码输入错误！');
//			}
//
//			/* 检测密码 */
//			if($password != $repassword){
//				$this->error('密码和重复密码不一致！');
//			}
//
//			/* 调用注册接口注册用户 */
//            $User = new UserApi;
//			$uid = $User->register($username, $password, $email);
//			if(0 < $uid){ //注册成功
//				//TODO: 发送验证邮件
//				$this->success('注册成功！',U('login'));
//			} else { //注册失败，显示错误信息
//				$this->error($this->showRegError($uid));
//			}
//
//		} else { //显示注册表单
//			$this->display();
//		}
//	}

	/* 登录页面 */
	public function login($username = '', $password = '', $verify = ''){
		if(IS_POST){ //登录验证
			/* 检测验证码 */
			if(!check_verify($verify)){
				$this->error('验证码输入错误！');
			}

			/* 调用UC登录接口登录 */
			$user = new UserApi;
			$uid = $user->login($username, $password);
			if(0 < $uid){ //UC登录成功
				/* 登录用户 */
				$Member = D('Member');
				if($Member->login($uid)){ //登录用户
					//TODO:跳转到登录前页面
					$this->success('登录成功！',U('Home/Index/index'));
				} else {
					$this->error($Member->getError());
				}

			} else { //登录失败
				switch($uid) {
					case -1: $error = '用户不存在或被禁用！'; break; //系统级别禁用
					case -2: $error = '密码错误！'; break;
					default: $error = '未知错误！'; break; // 0-接口参数错误（调试阶段使用）
				}
				$this->error($error);
			}

		} else { //显示登录表单
			$this->display();
		}
	}


	/* 退出登录 */
	public function logout(){
		if(is_login()){
			D('Member')->logout();
			$this->success('退出成功！', U('User/login'));
		} else {
			$this->redirect('User/login');
		}
	}

//	/* 验证码，用于登录和注册 */
//	public function verify(){
//		$verify = new \Think\Verify();
//		$verify->entry(1);
//	}

	/**
	 * 获取用户注册错误信息
	 * @param  integer $code 错误编码
	 * @return string        错误信息
	 */
//	private function showRegError($code = 0){
//		switch ($code) {
//			case -1:  $error = '用户名长度必须在16个字符以内！'; break;
//			case -2:  $error = '用户名被禁止注册！'; break;
//			case -3:  $error = '用户名被占用！'; break;
//			case -4:  $error = '密码长度必须在6-30个字符之间！'; break;
//			case -5:  $error = '邮箱格式不正确！'; break;
//			case -6:  $error = '邮箱长度必须在1-32个字符之间！'; break;
//			case -7:  $error = '邮箱被禁止注册！'; break;
//			case -8:  $error = '邮箱被占用！'; break;
//			case -9:  $error = '手机格式不正确！'; break;
//			case -10: $error = '手机被禁止注册！'; break;
//			case -11: $error = '手机号被占用！'; break;
//			default:  $error = '未知错误';
//		}
//		return $error;
//	}


    /**
     * 修改密码提交
     * @author huajie <banhuajie@163.com>
     */
//    public function profile(){
//		if ( !is_login() ) {
//			$this->error( '您还没有登陆',U('User/login') );
//		}
//        if ( IS_POST ) {
//            //获取参数
//            $uid        =   is_login();
//            $password   =   I('post.old');
//            $repassword = I('post.repassword');
//            $data['password'] = I('post.password');
//            empty($password) && $this->error('请输入原密码');
//            empty($data['password']) && $this->error('请输入新密码');
//            empty($repassword) && $this->error('请输入确认密码');
//
//            if($data['password'] !== $repassword){
//                $this->error('您输入的新密码与确认密码不一致');
//            }
//
//            $Api = new UserApi();
//            $res = $Api->updateInfo($uid, $password, $data);
//            if($res['status']){
//                $this->success('修改密码成功！');
//            }else{
//                $this->error($res['info']);
//            }
//        }else{
//            $this->display();
//        }
//    }

	public function authcode(){

		$resu = array('code' => 1,'msg' => '','data' => array());

		$sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL
		$auth = rand(100000,999999);//定义一个随机六位数的变量
		$smsConf = array(
			'key'   => '5ff30d5a8e99e043e3a245d69810b7dd', //您申请的APPKEY
			'mobile'    => $_POST['mobile'], //接受短信的用户手机号码
			'tpl_id'    => '98177', //您申请的短信模板ID，根据实际情况修改
			'tpl_value' => '#code#='.$auth //您设置的模板变量，根据实际情况修改
		);

		$dt = M('personal');
		$data['auth_code'] = $auth;
		$data['mobile'] = $_POST['mobile'];
		$where = array('mobile' => $_POST['mobile']);
		$list = $dt->where($where)->find();
		if(empty($list)){
			$dt->add($data);
		}else{
			$dt->where($where)->save($data);
		}
		$content = $this->juhecurl($sendUrl,$smsConf,1); //请求发送短信
		if($content){
			$result = json_decode($content,true);
			$error_code = $result['error_code'];
			if($error_code == 0){//状态为0，说明短信发送成功
				$resu['msg'] = '短信发送成功!';
				$this -> assign($resu);
			}else{//状态非0，说明失败
				$msg = $result['reason'];
				$resu['code'] = 2;
				$resu['msg'] = '短信发送失败';
				$this -> assign($resu);
			}
		}else {
			$resu['code'] = 2;
			$resu['msg'] = '请求发送短信发送失败';
			$this -> assign($resu);
		}
		$this -> display();
	}

}
